home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / os2 / gnuwget.zip / wget-1.4.3 / src / ChangeLog < prev    next >
Text File  |  1997-02-09  |  52KB  |  1,849 lines

  1. Sun Feb  9 01:49:54 1997  Hrvoje Niksic  <hniksic@srce.hr>
  2.  
  3.     * version.c: Released 1.4.3.
  4.  
  5.     * url.c: Futher update to list of protostrings.
  6.     (skip_proto): Skip `//' correctly for FTP and HTTP.
  7.  
  8.     * url.c (get_urls_html): Handle bogus `http:' things a little
  9.      different.
  10.  
  11.     * main.c (main): Removed `follow-ftp' from `f'.
  12.     (main): Dumped the `prefix-files' and `file-prefix' options and
  13.      features; old and bogus.
  14.     (main): Exit on failed setval() in `-e'.
  15.  
  16.     * http.c (fetch_next_header): Use it to detect header continuation
  17.      correctly.
  18.  
  19.     * retr.c (buf_peek): New function.
  20.  
  21. Sat Feb  8 18:39:29 1997  Hrvoje Niksic  <hniksic@srce.hr>
  22.  
  23.     * wget.h: Include time.h and stuff.
  24.  
  25. Sat Feb  8 16:20:09 1997  Roger Beeman  <beeman@cisco.com>
  26.  
  27.     * ftp.c: Include <time.h>
  28.  
  29. Fri Feb  7 10:04:23 1997  Hrvoje Niksic  <hniksic@srce.hr>
  30.  
  31.     * url.c (findurl): Would read over buffer limits.
  32.  
  33. Thu Feb  6 01:52:12 1997  Hrvoje Niksic  <hniksic@srce.hr>
  34.  
  35.     * ftp-ls.c (ftp_parse_unix_ls): Allow spaces in file names.
  36.  
  37. Wed Feb  5 21:17:36 1997  Hrvoje Niksic  <hniksic@srce.hr>
  38.  
  39.     * http.c (http_atotm): Initialize tm.is_dst.
  40.  
  41. Sun Feb  2 16:01:27 1997  Hrvoje Niksic  <hniksic@srce.hr>
  42.  
  43.     * http.c (gethttp): Don't print the number of retrieved headers.
  44.  
  45.     * main.c (main): New option `--no-clobber', alias for `-nc'.
  46.  
  47.     * url.c: Recognize `https://'.
  48.  
  49. Sat Feb  1 10:07:31 1997  Hrvoje Niksic  <hniksic@srce.hr>
  50.  
  51.     * host.c (herrmsg): Don't use h_errno.
  52.  
  53. Thu Jan 30 07:00:04 1997  Hrvoje Niksic  <hniksic@srce.hr>
  54.  
  55.     * host.c (accept_domain): Use it.
  56.  
  57.     * main.c (main): New option `--exclude-domains'.
  58.  
  59.     * retr.c (retrieve_url): Use it.
  60.     (retrieve_url): Bail out when an URL is redirecting to itself.
  61.  
  62.     * url.c (url_equal): New function.
  63.  
  64. Wed Jan 29 10:56:30 1997  Hrvoje Niksic  <hniksic@srce.hr>
  65.  
  66.     * connect.c: Include arpa/inet.h instead of arpa/nameser.h.
  67.  
  68.     * http.c (mk_utc_time): New function.
  69.     (http_atotm): Use it; handle time zones correctly.
  70.  
  71. Tue Jan 28 15:21:36 1997  Hrvoje Niksic  <hniksic@srce.hr>
  72.  
  73.     * http.c: Ditto.
  74.  
  75.     * ftp-basic.c: Use it instead of WRITE.
  76.  
  77.     * connect.c (iwrite): New function.
  78.  
  79. Mon Jan 27 16:12:14 1997  Hrvoje Niksic  <hniksic@srce.hr>
  80.  
  81.     * cmpt.c (mktime): New function.
  82.  
  83.     * netrc.c: Include <sys/types.h>.
  84.  
  85.     * main.c (main): Wouldn't recognize --spider.
  86.  
  87.     * retr.c (rate): Use `B', `KB' and `MB'.
  88.     (reset_timer,elapsed_time): Moved from utils.c.
  89.  
  90.     * ftp.c (ftp_retrieve_list): Ditto.
  91.  
  92.     * http.c (http_loop): Don't touch the file if opt.dfp.
  93.  
  94. Fri Jan 24 00:05:40 1997  Hrvoje Niksic  <hniksic@srce.hr>
  95.  
  96.     * cmpt.c: New file.
  97.  
  98.     * ftp.c (ftp_retrieve_glob): New argument semantics.
  99.     (ftp_retrieve_dirs): Use it.
  100.     (ftp_loop): Ditto.
  101.  
  102.     * html.c (htmlfindurl): Recognize `'' as the quote char.
  103.  
  104. Thu Jan 23 12:05:04 1997  Hrvoje Niksic  <hniksic@srce.hr>
  105.  
  106.     * ftp.c (ftp_loop_internal): Use it.
  107.  
  108.     * utils.c (remove_link): New function.
  109.  
  110. Wed Jan 22 01:33:38 1997  Hrvoje Niksic  <hniksic@srce.hr>
  111.  
  112.     * retr.c (retrieve_url): Require STRICT redirection URL.
  113.  
  114.     * url.c (parseurl): New argument STRICT.
  115.  
  116.     * http.c (hparsestatline): Be a little-bit less strict about
  117.      status line format.
  118.  
  119. Tue Jan 21 11:51:42 1997  Hrvoje Niksic  <hniksic@srce.hr>
  120.  
  121.     * http.c (gethttp): Use it.
  122.  
  123.     * main.c (main): Don't use '<digit>' as options.
  124.  
  125.     * init.c: New option ignore_length.
  126.  
  127.     * http.c (gethttp): Ditto.
  128.     (http_loop): Check for redirection without Location:.
  129.     (gethttp): Don't print Length unless RETROKF.
  130.  
  131.     * ftp.c (getftp): Use it.
  132.  
  133.     * url.c (mkalldirs): New function.
  134.  
  135.     * utils.c (mymkdir): Don't check for existing non-directory.
  136.  
  137.     * url.c (mkstruct): Don't create the directory.
  138.  
  139. Mon Jan 20 06:50:46 1997  Hrvoje Niksic  <hniksic@srce.hr>
  140.  
  141.     * init.c (setval): Removed NO_RECURSION checks.
  142.  
  143. Sun Jan 19 00:45:29 1997  Hrvoje Niksic  <hniksic@srce.hr>
  144.  
  145.     * version.c: "Released" 1.4.3-pre2.
  146.  
  147.     * recur.c (recursive_retrieve): Bypass host checking only if URL
  148.      is ftp AND parent URL is not ftp.
  149.  
  150.     * ftp-basic.c (ftp_request): Print out Turtle Power.
  151.  
  152.     * ftp.c (ftp_loop): Call ftp_retrieve_glob with 0 if there's no
  153.      wildcard.
  154.     (ftp_retrieve_glob): Call ftp_loop_internal even on empty list, if
  155.      not glob.
  156.  
  157.     * http.c (gethttp): Be a little bit smarter about status codes.
  158.  
  159.     * recur.c (recursive_retrieve): Always reset opt.recursive when
  160.      dealing with FTP.
  161.  
  162. Sat Jan 18 04:57:44 1997  Hrvoje Niksic  <hniksic@srce.hr>
  163.  
  164.     * retr.c (retrieve_url): New variable location_changed; use it for
  165.      tests instead of mynewloc.
  166.     (retrieve_url): Allow heuristic adding of html.
  167.  
  168.     * url.c (url_filename): Don't use the `%' in Windows file names.
  169.  
  170.     * http.c (http_loop): Always time-stamp the local file.
  171.  
  172.     * http.c (http_loop): Ditto.
  173.  
  174.     * ftp.c (ftp_retrieve_list): Use it.
  175.  
  176.     * utils.c (my_touch): New function.
  177.  
  178.     * ftp.c (ftp_retrieve_list): Use #ifdef HAVE_STRUCT_UTIMBUF
  179.      instead of #ifndef NeXT.
  180.  
  181.     * utils.c (strptime): New version, by Ulrich Drepper.
  182.  
  183. Fri Jan 17 21:36:12 1997  Hrvoje Niksic  <hniksic@srce.hr>
  184.  
  185.     * http.c (haccepts_none): Renamed from `haccepts_bytes'.
  186.     (gethttp): If haccepts_none(), disable ACCEPTRANGES.
  187.     (http_loop): Would remove ACCEPTRANGES.
  188.  
  189.     * ftp.c (getftp): Call ftp_list with NULL.
  190.  
  191. Wed Jan 15 03:39:13 1997  Hrvoje Niksic  <hniksic@srce.hr>
  192.  
  193.     * html.c (ftp_index): Don't print minutes and seconds if we don't
  194.      know them; beautify the output.
  195.  
  196.     * ftp.c (getftp): Don't close the socket on FTPNSFOD.
  197.  
  198. Tue Jan 14 05:16:50 1997  Hrvoje Niksic  <hniksic@srce.hr>
  199.  
  200.     * utils.c (strptime): New function.
  201.     (strptime): Don't use get_alt_number.
  202.     (strptime): Don't use locale.
  203.     (match_string): Made it a function.
  204.  
  205. Sun Jan 12 01:57:59 1997  Hrvoje Niksic  <hniksic@srce.hr>
  206.  
  207.     * http.c (http_atotm): New function.
  208.     (http_loop): Use it.
  209.  
  210.     * atotm.c: Removed from the distribution.
  211.  
  212.     * http.c (base64_encode_line): Rewrite.
  213.  
  214. Thu Jan  9 14:26:08 1997  Hrvoje Niksic  <hniksic@srce.hr>
  215.  
  216.     * ftp.c (getftp): Use ftp_expected_bytes; print size.
  217.  
  218.     * ftp-basic.c (ftp_response): Use ftp_last_respline.
  219.     (ftp_expected_bytes): New function.
  220.  
  221.     * ftp.c (getftp): Print the unauthoritative file length.
  222.  
  223.     * ftp-ls.c: Renamed from ftp-unix.c.
  224.     (ftp_parse_ls): Moved from ftp.c.
  225.     (ftp_parse_unix_ls): Recognize seconds in time spec.
  226.     (ftp_parse_unix_ls): Recognize year-less dates of the previous
  227.      year.
  228.  
  229. Wed Jan  8 08:30:10 1997  Hrvoje Niksic  <hniksic@srce.hr>
  230.  
  231.     * ftp-basic.c: Don't declare errno if #defined.
  232.  
  233.     * host.c (ftp_getaddress): Check for sysinfo legally.
  234.  
  235. Wed Jan  8 08:30:10 1997  Darko Budor  <dbudor@diana.zems.fer.hr>
  236.  
  237.     * connect.c (iread): Use READ.
  238.  
  239. Mon Dec 23 00:51:36 1996  Hrvoje Niksic  <hniksic@srce.hr>
  240.  
  241.     * url.c: Recognize finger, rlogin, tn3270, mid and cid as valid
  242.      schemes.
  243.  
  244. Sun Dec 22 23:23:18 1996  Hrvoje Niksic  <hniksic@srce.hr>
  245.  
  246.     * host.c (ftp_getaddress): Allow `.' in hostname.
  247.  
  248. Thu Dec 26 16:51:38 1996  Darko Budor <dbudor@zems.fer.hr>
  249.  
  250.     * wget.h: READ and WRITE macros for use instead of read and write
  251.     on sockets, grep READ *.c, grep WRITE *.c
  252.  
  253.     * wsstartup.c: new file - startup for winsock
  254.  
  255.     * wsstartup.h: new file
  256.  
  257.     * win32decl.h: new file - fixup for <errno.h> and winsock trouble
  258.  
  259.     * configure.bat: Configure utility for MSVC
  260.  
  261.     * src/Makefile.ms,config.h.ms: new files for use with MSVC 4.x
  262.  
  263. Sun Dec 22 00:49:42 1996  Hrvoje Niksic  <hniksic@srce.hr>
  264.  
  265.     * version.c: Released 1.4.3-pre.
  266.  
  267.     * utils.c (prnum): Accept long.
  268.     (legible): Use prnum().
  269.  
  270.     * connect.c (make_connection): Accept port as short.
  271.     (bindport): Ditto.
  272.  
  273.     * http.c (gethttp): Use search_netrc.
  274.  
  275. Sat Dec 21 16:31:56 1996  Hrvoje Niksic  <hniksic@srce.hr>
  276.  
  277.     * ftp.c (getftp): Use search_netrc.
  278.  
  279.     * netrc.c (free_netrc): New function.
  280.  
  281.     * init.c (home_dir): New function.
  282.  
  283.     * url.c (convert_links): Allow REL2ABS changes.
  284.  
  285. Sat Dec 21 03:41:56 1996  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
  286.  
  287.     * netrc.c: New file.
  288.     (parse_netrc, maybe_add_to_list): New functions.
  289.  
  290. Tue Dec 17 16:31:51 1996  Hrvoje Niksic  <hniksic@srce.hr>
  291.  
  292.     * retr.c (retrieve_url): Reset opt.recursion before calling
  293.      ftp_loop if it is reached through newloc.
  294.  
  295.     * init.c (run_wgetrc): Print the wgetrc path too, when reporting
  296.      error; don't use "Syntax error", since we don't know if it is
  297.      really a syntax error.
  298.  
  299. Mon Dec 16 00:29:24 1996  Hrvoje Niksic  <hniksic@srce.hr>
  300.  
  301.     * utils.c (acceptable): Extract the filename part of the path.
  302.  
  303.     * recur.c (recursive_retrieve): Call acceptable() with the right
  304.      argument; would bug out on wildcards.
  305.  
  306.     * init.c (parse_line): Likewise.
  307.  
  308.     * html.c (htmlfindurl): Cast to char * when calling stuff.
  309.  
  310. Sun Dec 15 17:19:52 1996  Hrvoje Niksic  <hniksic@srce.hr>
  311.  
  312.     * ftp.c (getftp): Use ftp_pasv.
  313.  
  314.     * ftp-basic.c (ftp_request): Accept NULL value.
  315.     (ftp_pasv): New function.
  316.  
  317.     * options.h (struct options): Add passive FTP option.
  318.  
  319. Sun Dec 15 04:06:50 1996  Hrvoje Niksic  <hniksic@srce.hr>
  320.  
  321.     * url.c (parseurl): Debug output.
  322.  
  323.     * utils.c (path_simplify): New one, adapted from bash's
  324.      canonicalize_pathname().
  325.  
  326. Sat Dec 14 17:49:52 1996  Hrvoje Niksic  <hniksic@srce.hr>
  327.  
  328.     * ftp.c (getftp): Don't discard the buffer.
  329.  
  330.     * retr.c (get_contents): New parameter nobuf.
  331.  
  332. Fri Dec 13 17:21:59 1996  Shawn McHorse  <riffraff@txdirect.net>
  333.  
  334.     * html.c (htmlfindurl): Recognize <meta contents="d; URL=...".
  335.  
  336.     * init.c (setval): Strip the trailing slashes on CVECDIR.
  337.  
  338. Fri Dec 13 17:24:10 1996  Hrvoje Niksic  <hniksic@srce.hr>
  339.  
  340.     * init.c: Make excludes and includes under CVECDIR instead of
  341.      CVEC.
  342.  
  343. Fri Dec 13 17:21:59 1996  Shawn McHorse  <riffraff@txdirect.net>
  344.  
  345.     * url.c (get_urls_html): Skip "http:".
  346.  
  347. Fri Dec 13 16:02:55 1996  Hrvoje Niksic  <hniksic@srce.hr>
  348.  
  349.     * utils.c (strcasecmp): From glibc.
  350.     (strncasecmp): Also.
  351.     (strstr): Also.
  352.  
  353.     * url.c: Added javascript: to the list of URLs prefixes.
  354.  
  355. Thu Dec 12 19:36:35 1996  Shawn McHorse  <riffraff@txdirect.net>
  356.  
  357.     * recur.c (retrieve_robots): Print the warning message only if
  358.      verbose.
  359.  
  360. Thu Dec 12 19:32:57 1996  Gregor Hoffleit  <flight@mathi.uni-heidelberg.DE>
  361.  
  362.     * ftp.c (ftp_retrieve_list): Use NeXT old utime interface.
  363.  
  364. Thu Dec 12 10:32:29 1996  Hrvoje Niksic  <hniksic@srce.hr>
  365.  
  366.     * systhings.h: New file.
  367.  
  368.     * ../configure.in: Check for utime.h
  369.  
  370.     * ftp.c: Check whether we have unistd.h.
  371.  
  372. Wed Nov 27 16:37:39 1996  Hrvoje Niksic  <hniksic@srce.hr>
  373.  
  374.     * recur.c (recursive_retrieve): Send the canonical URL as referer.
  375.     (recursive_retrieve): Call get_urls_html with the canonical URL.
  376.  
  377. Fri Dec 13 16:43:33 1996  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  378.  
  379.     * (configure.in, config.h.in, src/Makefile.in, src/*.[ch]): Add
  380.      ansi2knr support for compilers which don't support ANSI style
  381.      function prototypes and signatures.
  382.  
  383.     * (aclocal.m4, src/ansi2knr.c, src/ansi2knr.1): New files.
  384.  
  385. Tue Nov 26 09:30:04 1996  Hrvoje Niksic  <hniksic@srce.hr>
  386.  
  387.     * url.c: Use it; Recognize paths ending with "." and ".." as
  388.      directories.
  389.     (url_filename): Append .n whenever file exists and could be a
  390.      directory.
  391.  
  392.     * url.h (ISDDOT): New macro.
  393.  
  394.     * init.c (parse_line): Use unsigned char.
  395.  
  396.     * url.c (get_urls_html): Cast to unsigned char * when calling
  397.      htmlfindurl.
  398.  
  399.     * html.c (htmlfindurl): Use unsigned char.
  400.  
  401.     * version.c: Changed version to 1.4.3.
  402.  
  403. Mon Nov 25 00:42:37 1996  Hrvoje Niksic  <hniksic@srce.hr>
  404.  
  405.     * version.c: Released 1.4.2.
  406.  
  407.     * ftp.c (getftp): Simplified assertion.
  408.     (ftp_loop_internal): Remove symlink before downloading.
  409.     (ftp_retrieve_list): Unlink the symlink name before attempting to
  410.      create a symlink!
  411.  
  412.     * options.h (struct options): Renamed print_server_response to
  413.      server_response.
  414.  
  415.     * ftp.c (rel_constr): Removed.
  416.     (ftp_retrieve_list): Don't use it.
  417.     (ftp_retrieve_list): Use opt.retr_symlinks.
  418.  
  419. Sun Nov 24 23:15:14 1996  Hrvoje Niksic  <hniksic@srce.hr>
  420.  
  421.     * main.c (main): New option retr_symlinks.
  422.  
  423.     * url.c (convert_links): Print verbose message.
  424.  
  425. Sun Nov 24 00:57:11 1996  Hrvoje Niksic  <hniksic@srce.hr>
  426.  
  427.     * http.c (http_loop): Reset newloc in the beginning of function;
  428.      would cause FMR in retrieve_url.
  429.  
  430. Sat Nov 23 14:13:51 1996  Hrvoje Niksic  <hniksic@srce.hr>
  431.  
  432.     * recur.c (convert_all_links): Find the URL of each HTML document,
  433.      and feed it to get_urls_html; would bug out.
  434.     (convert_all_links): Check for l2 instead of dl; removed dl.
  435.  
  436.     * url.c (convert_links): Don't refer to freed newname.
  437.  
  438.     * recur.c (recursive_retrieve): Add this_url to urls_downloaded.
  439.  
  440.     * main.c (main): Print the OS_TYPE in the debug output, too.
  441.  
  442.     * recur.c (recursive_retrieve): Check for opt.delete_after.
  443.  
  444.     * main.c (main): New option delete-after.
  445.  
  446.     * init.c (setval): Cleaned up.
  447.  
  448. Thu Nov 21 05:45:40 1996  Hrvoje Niksic  <hniksic@srce.hr>
  449.  
  450.     * Makefile.in (wget): Make `wget' the default target.
  451.  
  452.     * ftp.c (ftp_loop_internal): Move noclobber checking out of the
  453.      loop.
  454.     (ftp_retrieve_list): Warn about non-matching sizes.
  455.  
  456.     * http.c (http_loop): Made -nc non-dependent on opt.recursive.
  457.  
  458.     * init.c (setnum): Renamed from setnuminf; New argument flags.
  459.     (setval): Use it.
  460.  
  461.     * main.c (main): Sorted the options.
  462.     (main): New option --wait.
  463.  
  464. Thu Nov 21 02:42:58 1996  Shawn McHorse  <riffraff@txdirect.net>
  465.  
  466.     * html.c (htmlfindurl): Reset s->in_quote after getting out of
  467.      quotes.
  468.  
  469. Wed Nov 20 20:41:19 1996  Hrvoje Niksic  <hniksic@srce.hr>
  470.  
  471.     * version.c: Changed version to 1.4.2.
  472.  
  473. Wed Nov 20 02:30:00 1996  Hrvoje Niksic  <hniksic@srce.hr>
  474.  
  475.     * version.c: Released 1.4.1.
  476.  
  477.     * html.c (html_quote_string): New function.
  478.     (ftp_index): Use it.
  479.     (htmlfindurl): A more gentle ending debug message.
  480.  
  481.     * ftp.c (ftp_loop): Check for opt.htmlify.
  482.  
  483.     * init.c: New command htmlify.
  484.  
  485.     * ftp.c (getftp): Nicer error messages, with `'-encapsulated
  486.      strings.
  487.     (ftp_loop): Print size of index.html.
  488.  
  489.     * init.c (setval): Implement "styles".
  490.  
  491.     * main.c (main): New option dotstyle.
  492.  
  493. Tue Nov 19 15:02:31 1996  Hrvoje Niksic  <hniksic@srce.hr>
  494.  
  495.         * ftp.c (getftp): Close the master socket in case of errors, after
  496.         bindport().
  497.  
  498.         * connect.c (bindport): Initialize msock to -1.
  499.  
  500.         * ftp.c (getftp): Initialize dtsock to -1.
  501.  
  502.         * connect.c (closeport): Don't close sock if sock == -1.
  503.  
  504. Mon Nov 18 02:42:13 1996  Hrvoje Niksic  <hniksic@srce.hr>
  505.  
  506.     * init.c (setnuminf): Nuked default value -- just leave unchanged.
  507.     (setval): Don't send default values.
  508.     (defaults): Use DEFAULT_TIMEOUT -- aaargh.
  509.  
  510.     * options.h (struct options): Use long for dot_bytes.
  511.  
  512.     * init.c (setquota): Renamed to setbytes.
  513.     (setval): Use setbytes on DOTBYTES.
  514.  
  515. Sun Nov 17 01:02:14 1996  Hrvoje Niksic  <hniksic@srce.hr>
  516.  
  517.     * ftp.c (getftp): Initialize con->dltime.
  518.  
  519.     * recur.c (recursive_retrieve): Use same_host instead of
  520.      try_robots; simply load robots_txt whenever the host is changed.
  521.     (recursive_retrieve): Free forbidden before calling parse_robots.
  522.  
  523. Sat Nov 16 03:57:27 1996  Hrvoje Niksic  <hniksic@srce.hr>
  524.  
  525.     * retr.c (show_progress): Use them.
  526.  
  527.     * options.h (struct options): New options dot_bytes, dots_on_line
  528.      and dot_spacing.
  529.  
  530. Sat Nov 16 02:23:42 1996  Mark Boyns  <boyns@sdsu.edu>
  531.  
  532.     * recur.c (recursive_retrieve): Retrieve directories regardless of
  533.      acc/rej rules; check for empty u->file.
  534.  
  535. Thu Nov 14 17:24:57 1996  Hrvoje Niksic  <hniksic@srce.hr>
  536.  
  537.     * init.c (setval): Use it.
  538.  
  539.     * utils.c (merge_vecs): New function.
  540.  
  541.     * init.c (setval): Reset the list-type functions when encountering
  542.      "".
  543.  
  544. Thu Nov 14 09:58:14 1996  Shawn McHorse  <riffraff@txdirect.net>
  545.  
  546.     * recur.c (recursive_retrieve): Use base_url instead of this_url
  547.      for no_parent.
  548.  
  549. Thu Nov 14 09:45:28 1996  Shawn McHorse  <riffraff@txdirect.net>
  550.  
  551.     * html.c (htmlfindurl): Reset s->in_quote after exiting the quote.
  552.  
  553. Wed Nov 13 10:13:07 1996  Hrvoje Niksic  <hniksic@srce.hr>
  554.  
  555.     * utils.c (sepstring): Rewrote; don't use strtok.
  556.  
  557.     * recur.c (recursive_retrieve): Enter assorted this_url to slist
  558.      when running the first time.
  559.     (retrieve_robots): Warn to ignore errors when robots are loaded.
  560.  
  561.     * utils.c (load_file): Moved from url.c.
  562.  
  563.     * http.c: Made static variables const too in h* functions.
  564.  
  565.     * main.c (main): Renamed --continue-ftp to --continue.
  566.  
  567.     * recur.c (recursive_retrieve): Use it.
  568.  
  569.     * utils.c (frontcmp): New function.
  570.  
  571.     * url.c (accdir): New function.
  572.  
  573.     * html.c (htmlfindurl): Recognize <area href=...>.
  574.  
  575.     * ftp.c (ftp_retrieve_dirs): Implemented opt.includes.
  576.  
  577.     * init.c (setval): Free the existing opt.excludes and
  578.      opt.includes, if available.
  579.  
  580.     * main.c (main): New option -I.
  581.  
  582. Tue Nov 12 15:51:39 1996  Hrvoje Niksic  <hniksic@srce.hr>
  583.  
  584.     * ftp.c (ftp_retrieve_glob): Do not weed out directories.
  585.  
  586.     * version.c: Changed version to 1.4.1.
  587.  
  588. Mon Nov 11 05:06:18 1996  Hrvoje Niksic  <hniksic@srce.hr>
  589.  
  590.     * version.c: Released 1.4.0.
  591.  
  592. Sun Nov 10 19:46:07 1996  Hrvoje Niksic  <hniksic@srce.hr>
  593.  
  594.     * main.c (main): Free com and val after parse_line.
  595.     (printhelp): Reorder the listing.
  596.  
  597.     * http.c: More robust header parsing.
  598.  
  599.     * http.c: Allow any number of spaces, or no spaces, precede ':'.
  600.     (hskip_lws): New function.
  601.     (haccepts_bytes): New function.
  602.     (gethttp): Use it.
  603.  
  604.     * init.c (setval): Check header sanity.
  605.     (setval): Allow resetting of headers.
  606.  
  607. Sun Nov 10 02:43:37 1996  Hrvoje Niksic  <hniksic@srce.hr>
  608.  
  609.     * http.c (http_loop): Don't use has_wildcards.
  610.  
  611.     * http.c (gethttp): Free all_headers -- would leak.
  612.  
  613.     * recur.c (recursive_retrieve): Initialize depth to 1 instead of
  614.      0 -- this fixes a long-standing bug in -rl.
  615.  
  616. Sat Nov  9 18:48:03 1996  Hrvoje Niksic  <hniksic@srce.hr>
  617.  
  618.     * ftp.c: Use -1 as "impossible" value for con->fd.
  619.  
  620.     * url.h (URL_SEPARATOR): Don't treat `*' and `+' as separators.
  621.  
  622.     * init.c (parse_line): Use isalpha.
  623.  
  624.     * ftp-unix.c: Use HAVE_UNISTD_H.
  625.  
  626.     * mtch.c (has_wildcards): Don't match \.
  627.  
  628.     * http.c (http_loop): Warn on HTTP wildcard usage.
  629.  
  630. Fri Nov  8 19:28:44 1996  Hrvoje Niksic  <hniksic@srce.hr>
  631.  
  632.     * url.c (url_filename): Do not create numbered suffices if
  633.      opt.noclobber -- would bug out on -nc.
  634.  
  635. Thu Nov  7 18:22:24 1996  Hrvoje Niksic  <hniksic@srce.hr>
  636.  
  637.     * recur.c (parse_robots): Don't chuck out the commands without
  638.      arguments (`Disallow:<empty>' didn't work).
  639.     (parse_robots): Compare versions lowercase.
  640.     (parse_robots): Match on base_version, not version_string!
  641.     (parse_robots): Handle comments properly.
  642.     (parse_robots): Match versions in a sane way.
  643.  
  644.     * init.c: Print nicer error messages.
  645.  
  646.     * version.c: Changed version to 1.4.0.
  647.  
  648. Wed Nov  6 21:04:19 1996  Hrvoje Niksic  <hniksic@srce.hr>
  649.  
  650.     * version.c: Released 1.4.0-test2.
  651.  
  652.     * init.c (run_wgetrc): Close fp.
  653.  
  654.     * ftp.c (ftp_retrieve_dirs): Allocate the correct length for
  655.      u->dir.
  656.  
  657. Wed Nov  6 02:20:09 1996  Hrvoje Niksic  <hniksic@srce.hr>
  658.  
  659.     * init.c (setquota): Allow inf as quota specification.
  660.  
  661. Tue Nov  5 00:49:12 1996  Hrvoje Niksic  <hniksic@srce.hr>
  662.  
  663.     * ftp.c (ftp_retrieve_dirs): Return QUOTEXC if quota exceeded.
  664.     (ftp_retrieve_glob): Return QUOTEXC on quota exceeded.
  665.  
  666.     * main.c (main): Check for quota by comparison with downloaded
  667.      stuff, not from status.
  668.  
  669.     * connect.c (select_fd): Should compile on HPUX without warnings now.
  670.  
  671.     * ftp.c (ftp_get_listing): Check whether ftp_loop_internal
  672.      returned RETROK.
  673.  
  674. Mon Nov  4 12:02:54 1996  Hrvoje Niksic  <hniksic@srce.hr>
  675.  
  676.     * ftp.c (ftp_retrieve_glob): Print the pattern nicely.
  677.     (getftp): Return FTPRETRINT on control connection error.
  678.  
  679.     * html.c (htmlfindurl): Recognize <embed src=...> and
  680.     <bgsound src=...>.
  681.     (ftp_index): Handle username and password correctly.
  682.  
  683.     * main.c (main): Made `-np' a synonim for --no-parent.
  684.  
  685. Sat Nov  2 22:23:07 1996  Hrvoje Niksic  <hniksic@srce.hr>
  686.  
  687.     * ftp.c (ftp_loop): Check for opt.ftp_glob too before calling
  688.      ftp_retrieve_glob.
  689.  
  690.     * version.c: Changed version to 1.4.0-test2.
  691.  
  692. Sat Nov  2 02:44:32 1996  Hrvoje Niksic  <hniksic@srce.hr>
  693.  
  694.     * version.c: Released 1.4.0-test1.
  695.  
  696.     * url.c (str_url): Don't use sprintf when creating %2F-prefixed
  697.      directory.
  698.     (convert_links): Removed definition of make_backup.
  699.  
  700.     * http.h: Removed definition of MAX_ERROR_LENGTH.
  701.  
  702.     * host.c (ftp_getaddress): Check for "(none)" domains.
  703.  
  704.     * ftp.c (ftp_retrieve_dirs): Docfix.
  705.  
  706.     * http.c (gethttp): Use ou->referer instead of u->referer.
  707.  
  708.     * retr.c (retrieve_url): Reset u to avoid freeing pointers twice;
  709.      this was known to cause coredumps on Linux.
  710.  
  711.     * html.c (ftp_index): Cast the argument to local_time to time_t *.
  712.  
  713. Fri Nov  1 17:38:41 1996  Hrvoje Niksic  <hniksic@srce.hr>
  714.  
  715.     * connect.c (select_fd): Use exceptfds -- once and for all.
  716.  
  717.     * retr.c (retrieve_from_file): Free filename after
  718.      recursive_retrieve.
  719.     (retrieve_from_file): Send RFIRST_TIME to recursive_retrieve on
  720.      first-time retrieval.
  721.     (retrieve_from_file): Return uerr_t; new argument, count.
  722.     (retrieve_from_file): Break on QUOTEXC.
  723.  
  724.     * init.c (setquota): Fixed a bug that caused rejection of
  725.      non-postfixed values..
  726.  
  727. Wed Oct 30 14:04:48 1996  Hrvoje Niksic  <hniksic@srce.hr>
  728.  
  729.     * version.c: Changed name to wget.
  730.  
  731.     * connect.c (iread): Smarter use of select.
  732.     (select_fd): Set errno on timeout.  If not timeout, return 1
  733.      instead of 0.
  734.  
  735. Tue Oct 29 18:05:55 1996  Hrvoje Niksic  <hniksic@srce.hr>
  736.  
  737.     * ftp.c (ftp_loop_internal): Don't use con->cmd before
  738.      establishing it.
  739.  
  740. Sat Oct 26 22:04:27 1996  Hrvoje Niksic  <hniksic@srce.hr>
  741.  
  742.     * http.c (gethttp): Send correct referer when using proxy.
  743.     (gethttp): Use struct urlinfo ou to access the relevant data; send
  744.      correct authorization in all cases.
  745.  
  746.     * host.c (same_host): Use skip_uname to skip username and
  747.      password.
  748.  
  749.     * url.c (skip_uname): New function.
  750.     (parseurl): Use it.
  751.  
  752.     * host.c (same_host): Do not assume HTTP -- same_host should now
  753.      be totally foolproof.
  754.  
  755.     * url.c (skip_proto): New function.
  756.     (parse_uname): Use it.
  757.  
  758.     * http.c (gethttp): Create local user and passwd from what is
  759.      given.
  760.  
  761.     * url.c (parseurl): Check for HTTP username and password too.
  762.  
  763. Fri Oct 25 15:12:42 1996  Hrvoje Niksic  <hniksic@srce.hr>
  764.  
  765.     * config.h.in: Removed #define gethostbyname R...
  766.  
  767. Tue Oct 22 17:07:50 1996  Hrvoje Niksic  <hniksic@srce.hr>
  768.  
  769.     * version.c: Changed version to 1.4.0-test1.
  770.  
  771. Mon Oct 21 18:06:49 1996  Hrvoje Niksic  <hniksic@srce.hr>
  772.  
  773.     * version.c: "Released" 1.4b29.
  774.  
  775.     * recur.c (recursive_retrieve): Check for no_parent.
  776.  
  777.     * init.c (setval): Option update.
  778.  
  779.     * main.c (main): New option no-parent.
  780.  
  781.     * options.h (struct options): New variable no_parent.
  782.  
  783.     * recur.c (recursive_retrieve): Only files are checked for
  784.      opt.accepts and opt.rejects.
  785.     (recursive_retrieve): Check directories for opt.excludes.
  786.     (recursive_retrieve): Make the dir absolute when checking
  787.      opt.excludes.
  788.  
  789.     * html.c (htmlfindurl): Recognize <applet code=...> and <script
  790.      src=...>
  791.  
  792. Fri Oct 18 19:12:53 1996  Hrvoje Niksic  <hniksic@srce.hr>
  793.  
  794.     * ftp.c (getftp): Do not line-break assert entries at all.
  795.     (ftp_retrieve_dirs): docfix.
  796.  
  797.     * connect.c (select_fd): Use fd + 1 as nfds.
  798.  
  799.     * version.c: Changed version to 1.4b29.
  800.  
  801. Fri Oct 18 02:07:50 1996  Hrvoje Niksic  <hniksic@srce.hr>
  802.  
  803.     * version.c: "Released" 1.4b28.
  804.  
  805.     * ftp.c (ftp_loop_internal): Check whether f->size == len and
  806.      don't continue the loop if it is.
  807.     (ftp_get_listing): Remove list_filename on unsuccesful loop.
  808.  
  809. Thu Oct 17 23:22:02 1996  Hrvoje Niksic  <hniksic@srce.hr>
  810.  
  811.     * ftp.c (ftp_loop_internal): Use strcpy to initialize tmp.
  812.     (getftp): Do not use multiline assert.
  813.  
  814.     * http.c (hparsestatline): Use mjr and mnr instead of major and
  815.      minor, which don't compile on Ultrix.
  816.     (http_loop): Use strcpy() to initialize tmp.
  817.  
  818.     * all: Geturl -> Fetch
  819.  
  820. Thu Oct 17 00:12:27 1996  Hrvoje Niksic  <hniksic@srce.hr>
  821.  
  822.     * recur.c (parse_robots): Fixed an off-by-one bug when looking for
  823.      ':'.
  824.  
  825.     * html.c (htmlfindurl): Fixed several possible off-by-one bugs by
  826.      moving `bufsize &&' to the beginning of each check in for-loops.
  827.  
  828.     * recur.c (parse_robots): Close fp on exit.
  829.  
  830.     * url.c (mymkdir): Check for each directory before creating.
  831.  
  832. Wed Oct 16 21:15:17 1996  Hrvoje Niksic  <hniksic@srce.hr>
  833.  
  834.     * version.c: Changed version to 1.4b28.
  835.  
  836. Wed Oct 16 00:11:17 1996  Hrvoje Niksic  <hniksic@srce.hr>
  837.  
  838.     * version.c: "Released" 1.4b27.
  839.  
  840.     * init.c (parse_line): Use isspace.
  841.     (parse_line): Free *com on all errors.
  842.  
  843.     * ftp.c (ftp_loop): Change FTPOK to RETROK before exiting.
  844.     (delelement): Use next instead of f->next and prev instead of
  845.      f->prev.
  846.     (delelement): Free the members of the deleted element.
  847.  
  848.     * http.c (http_loop): Do not return RETROK on code != 20x.
  849.  
  850.     * init.c (cleanup): Free opt.user_header.
  851.     (cleanup): Free opt.domains.
  852.  
  853.     * url.c (freelists): Moved to cleanup().
  854.  
  855.     * http.c (hparsestatline): Docfix.
  856.  
  857.     * main.c (main): Return with error status on unsuccesful
  858.      retrieval.
  859.  
  860.     * init.c (setval): Do not remove listing when mirroring.
  861.  
  862.     * url.c (url_filename): Use opt.fileprefix.
  863.  
  864.     * ftp.c (ftp_get_listing): Use url_filename to get filename for
  865.      .listing.
  866.  
  867.     * main.c (main): New option: -rn.
  868.  
  869. Tue Oct 15 09:09:39 1996  Hrvoje Niksic  <hniksic@srce.hr>
  870.  
  871.     * Makefile.in (RM): Added RM = rm -f.
  872.  
  873.     * host.c (clean_hosts): New function.
  874.     (free_hlist): Just free the list, no reset.
  875.  
  876.     * version.c: Changed version to 1.4b27.
  877.  
  878. Sun Oct 13 01:22:13 1996  Hrvoje Niksic  <hniksic@srce.hr>
  879.  
  880.     * version.c: "Released" 1.4b26.
  881.  
  882.     * retr.c (retrieve_from_file): If call get_urls_html with
  883.      opt.spider to make it silent in spider mode.
  884.  
  885.     * url.c (str_url): Use CLEANDUP instead of URL_CLEANSE.
  886.  
  887.     * url.h (CLEANDUP): New macro.
  888.  
  889.     * http.c (gethttp): Fixed a bug that freed location only when it
  890.      was NULL.
  891.  
  892.     * retr.c (retrieve_url): Free url if it will not be stored,
  893.      i.e. newloc is NULL.
  894.  
  895.     * html.c (htmlfindurl): Handle exiting from quotes correctly; the
  896.      old version would bug out on <a href="x#a"href="y">.
  897.  
  898.     * html.h (state_t): New member in_quote.
  899.  
  900.     * html.c (htmlfindurl): Free s->attr at the beginning of
  901.      attr-loop.
  902.  
  903.     * recur.c (recursive_retrieve): Recognize RCLEANUP.
  904.     (tried_robots): Make hosts a global variable.
  905.     (recursive_retrieve): Free constr after URL host optimization.
  906.     (tried_robots): Free urlinfo before exiting.
  907.  
  908.     * utils.c (free_slist): New function.
  909.  
  910.     * recur.c (recursive_retrieve): Use flags to add cleanup
  911.      possibility.
  912.  
  913.     * main.c (main): Free filename after recursive_retrieve.
  914.  
  915.     * http.c (gethttp): Store successful responses too.
  916.  
  917. Sat Oct 12 01:04:27 1996  Hrvoje Niksic  <hniksic@srce.hr>
  918.  
  919.     * all: Constified the whole source.  This required some minor
  920.      changes in many functions in url.c, possibly introducing bugs -- I
  921.      hope not.
  922.  
  923.     * ftp-basic.c: Removed last_respline.
  924.  
  925.     * http.c (gethttp): Free type.
  926.  
  927.     * host.c (same_host): Free real1 and real2.
  928.  
  929.     * main.c (main): New option --spider.
  930.  
  931.     * retr.c (get_contents): Don't reset errno.
  932.  
  933.     * main.c (main): Sorted the options.
  934.  
  935.     * connect.c (iread): Set errno to ETIMEDOUT only if it was left
  936.      uninitialized by select().
  937.  
  938.     * http.c (http_loop): Print the time when the connection is
  939.      closed.
  940.     (gethttp): Debug-print the HTTP request.
  941.  
  942. Fri Oct 11 19:57:28 1996  Hrvoje Niksic  <hniksic@srce.hr>
  943.  
  944.     * connect.c (iread): Do not try reading after timeout.
  945.  
  946.     * main.c (main): Would bug out on -T.
  947.  
  948.     * connect.c (select_fd): Do not use exceptfds.
  949.     (iread): Set ETIMEDOUT on select_fd <= 0.
  950.  
  951.     * version.c: Changed version to 1.4b26.
  952.  
  953. Thu Oct 10 00:10:52 1996  Hrvoje Niksic  <hniksic@srce.hr>
  954.  
  955.     * version.c: "Released" 1.4b25.
  956.  
  957.     * ftp-unix.c (ftp_parse_unix_ls): Ignore lines without file name
  958.      or link name.
  959.  
  960.     * http.c (gethttp): Add errcode to struct hstat.
  961.     (http_loop): Use it.
  962.  
  963.     * url.c (no_proxy_match): Simplify using char** for no_proxy.
  964.  
  965.     * options.h (struct options): Make opt.no_proxy a vector.
  966.  
  967.     * utils.c (sepstring): Use !*s instead of !strlen(s).
  968.  
  969.     * init.c (setval): Set opt.maxreclevel to 0 on --mirror.
  970.     (getperms): Use ISODIGIT instead of isdigit.
  971.  
  972.     * ftp.c (getftp): Print time.
  973.  
  974.     * main.c (main): Use legible output of downloaded quantity.
  975.  
  976.     * ftp.c (getftp): Use elapsed_time().
  977.     (ftp_loop_internal): Use rate().
  978.  
  979.     * http.c (http_loop): Add download ratio output; Use rate().
  980.  
  981.     * utils.c (rate): New function.
  982.  
  983. Wed Oct  9 15:41:48 1996  Hrvoje Niksic  <hniksic@srce.hr>
  984.  
  985.     * http.c (http_loop): Use timer.
  986.  
  987.     * ftp.c: Split to ftp-basic.c and ftp.c
  988.  
  989.     * utils.c (reset_timer): New function.
  990.     (elapsed_time): New function.
  991.  
  992.     * retr.c (show_progress): Make bytes_in_line and offs long; should
  993.      work on 16-bit machines.
  994.  
  995. Tue Oct  8 12:58:04 1996  Hrvoje Niksic  <hniksic@srce.hr>
  996.  
  997.     * url.c (in_acclist): New argument backward.
  998.  
  999.     * ftp.c (ftp_retrieve_glob): Use acceptable() to determine whether
  1000.      a file should be retrieved according to suffix.
  1001.     (ftp_get_listing): Check the return value of unlink; Do not call
  1002.      ftp_retrieve_dirs if depth reached maxreclevel.
  1003.     (ftp_retrieve_dirs): Check whether the directory is in
  1004.      exclude-list.
  1005.  
  1006.     * main.c (main): Print the version number at the beginning of
  1007.      DEBUG output.
  1008.     (main): Use strrchr when creating exec_name.
  1009.  
  1010.     * ftp.c (ftp_retrieve_glob): Do not close control connection.
  1011.  
  1012.     * version.c: Changed version to 1.4b25.
  1013.  
  1014. Mon Oct  7 01:58:19 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1015.  
  1016.     * version.c: "Released" 1.4b24.
  1017.  
  1018.     * Makefile.in: Rewrite.
  1019.  
  1020.     * ftp.c (ftp_loop_internal): Likewise.
  1021.  
  1022.     * retr.c (time_str): Check for failed time().
  1023.  
  1024.     * html.c (htmlfindurl): Recognize <fig src> and <overlay src> from
  1025.      HTML3.0.
  1026.  
  1027.     * retr.c (time_str): Return time_t *.
  1028.  
  1029.     * connect.c (bindport): Close msock on unsuccesful bind.
  1030.     (bindport): The same for getsockname and listen.
  1031.  
  1032.     * retr.c (retrieve_url): Allow any number of retries on
  1033.     proxy.
  1034.  
  1035.     * http.c (gethttp): Do not treat errno == 0 as timeout.
  1036.     (http_loop): Likewise.
  1037.     (http_loop): Cosmetic changes.
  1038.  
  1039.     * connect.c (iread): Set errno to ETIMEDOUT in case of timeout.
  1040.  
  1041.     * retr.c (get_contents): Reset errno.
  1042.  
  1043.     * ftp.c (getftp): Minor fixes.
  1044.  
  1045. Sun Oct  6 13:40:47 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1046.  
  1047.     * http.c: Do not use backups.
  1048.  
  1049.     * geturl.1 (WARNING): Warn that man-page could be obsolete.
  1050.  
  1051.     * getopt.c (getopt_long): Moved to getopt.c
  1052.  
  1053.     * geturl.texi: Enhanced.
  1054.  
  1055.     * main.c (main): Use it.
  1056.  
  1057.     * recur.c (convert_all_links): New function.
  1058.  
  1059.     * utils.c (add_slist): New argument flags.
  1060.  
  1061.     * recur.c (recursive_retrieve): Update a list of downloaded URLs.
  1062.     (parse_robots): Do not chuck out empty value fields.
  1063.     (parse_robots): Make yourself welcome on empty Disallow.
  1064.  
  1065.     * version.c: Changed version to 1.4b24.
  1066.  
  1067. Sun Oct  6 00:33:26 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1068.  
  1069.     * version.c: "Released" 1.4b23.
  1070.  
  1071.     * ftp.c (ftp_loop_internal): Get the time after getftp.
  1072.  
  1073.     * Makefile.in (install.info): New target.
  1074.     (install): Use it.
  1075.  
  1076.     * http.c (http_loop): Fix output when doing -O.
  1077.  
  1078. Sat Oct  5 14:10:05 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1079.  
  1080.     * geturl.texi: New file.
  1081.  
  1082.     * main.c (main): Do not print the warnings and download summary if
  1083.      opt.quiet is set.
  1084.  
  1085.     * version.c: Changed version to 1.4b23.
  1086.  
  1087. Sat Oct  5 05:27:03 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1088.  
  1089.     * "Released" 1.4b22.
  1090.  
  1091.     * atotm.c (atotm): Use True and False instead of TRUE and FALSE,
  1092.      to avoid redefinition warnings.
  1093.  
  1094.     * host.c (store_hostaddress): Use memcpy() to copy the address
  1095.      returned by inet_addr.
  1096.  
  1097.     * version.c: Changed version to 1.4b22.
  1098.  
  1099. Fri Oct  4 10:57:56 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1100.  
  1101.     * version.c: "Released" 1.4b21.
  1102.  
  1103.     * ftp-unix.c (ftp_parse_ls): Renamed to ftp_parse_unix_ls.
  1104.  
  1105.     * ftp.c (ftp_port): Use conaddr.
  1106.     (getftp): Print the file length.
  1107.     (ftp_retrieve_list): Check the stamps of plain files only.
  1108.  
  1109.     * connect.c (closeport): Do not call shutdown().
  1110.     (conaddr): New function.
  1111.  
  1112.     * html.c (ftp_index): Made it dfp-aware.
  1113.  
  1114.     * init.c (cleanup): New name of freemem. Close opt.dfp.
  1115.  
  1116.     * ftp.c (getftp): Use opt.dfp if it is set.
  1117.  
  1118.     * ftp-unix.c (ftp_parse_ls): Recognize time in h:mm format.
  1119.  
  1120.     * ftp.c (ftp_retrieve_dirs): Fixed a bug that caused incorrect
  1121.      CWDs to be sent with recursive FTP retrievals.
  1122.  
  1123. Thu Oct  3 15:20:11 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1124.  
  1125.     * recur.c (parse_robots): Made it more compliant with "official"
  1126.      specifications.
  1127.  
  1128.     * http.c: New function.
  1129.  
  1130.     * ftp-unix.c (ftp_parse_ls): Added better debug output.
  1131.  
  1132.     * ftp.c (getftp): Print out the LIST in case of
  1133.      opt.print_server_response.
  1134.  
  1135.     * version.c: Changed version to 1.4b21.
  1136.  
  1137. Tue Oct  1 12:53:03 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1138.  
  1139.     * version.c: "Released" 1.4b20.
  1140.  
  1141.     * README: Update.
  1142.  
  1143.     * http.c (gethttp): Preset lengths of various headers instead of
  1144.      calculating them dynamically.
  1145.     (gethttp): Check for 206 partial contents.
  1146.  
  1147. Mon Sep 30 10:52:05 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1148.  
  1149.     * configure.in: Set SYSTEM_GETURLRC to $libdir/geturlrc
  1150.  
  1151.     * http.c (gethttp): Send the port number in the Host: header.
  1152.  
  1153. Sun Sep 29 00:23:49 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1154.  
  1155.     * http.c (gethttp): Send host: header.
  1156.     (gethttp): Add the possibility of user-defined headers.
  1157.     (gethttp): Move decision about pragma: no-cache to http_loop,
  1158.      where it belongs.
  1159.     (gethttp): Pass a struct instead of enormous argument list.
  1160.     (http_loop): Use a new, fancier display format.
  1161.     (ftp_loop): Likewise.
  1162.  
  1163.     * main.c: (hangup): Turn off buffering of the new log file.
  1164.  
  1165.     * install-sh: Likewise.
  1166.  
  1167.     * config.sub: Replace with the one in autoconf-2.10
  1168.  
  1169.     * geturl.1: Update.
  1170.  
  1171.     * init.c: New options httpuser and httppasswd.
  1172.  
  1173.     * http.c: (base64_encode_line): New function.
  1174.     (gethttp): Send authentication.
  1175.  
  1176.     * connect.c (make_connection): Use store_hostaddress.
  1177.  
  1178. Sat Sep 28 00:19:48 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1179.  
  1180.     * host.c (store_hostaddress): New function.
  1181.  
  1182.     * NEWS: Update.
  1183.  
  1184.     * http.c (hgetrange): New function.
  1185.     (gethttp): Use ranges.
  1186.  
  1187.     * utils.c (numdigit): Accept long instead of int.
  1188.  
  1189.     * http.c (http_loop): Add restart capabilities.
  1190.  
  1191.     * ftp.c (ftp_retrieve_glob): Fixed a bug that could cause matchres
  1192.      being used uninitialized.
  1193.     (ftp_retrieve_list): Similar fix.
  1194.  
  1195.     * host.c (add_hlist): Fixed a bug that could cause cmp being used
  1196.      uninitialized.
  1197.  
  1198.     * url.c (construct_relative): New function.
  1199.  
  1200.     * recur.c (recursive_retrieve): Use it.
  1201.  
  1202.     * retr.c (convert_links): New function.
  1203.  
  1204. Fri Sep 27 14:09:59 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1205.  
  1206.     * url.c (free_urlpos): New function.
  1207.  
  1208.     * recur.c (recursive_retrieve): Adapt.
  1209.  
  1210.     * url.c (get_urls_html): Return a linked list instead of a vector.
  1211.  
  1212.     * url.c (get_urls_file): Return a linked list instead of a vector.
  1213.  
  1214.     * geturl.1: Update.
  1215.  
  1216.     * http.c (gethttp): Implement it.
  1217.  
  1218.     * init.c (setval): New option: SAVEHEADERS
  1219.  
  1220.     * ftp.c (ftp_loop_internal): Do not set restval if listing is to
  1221.      be retrieved. Lack of this test caused bugs when the connection
  1222.      was lost during listing.
  1223.  
  1224.     * retr.c (retrieve_url): Fixed a bug that caused
  1225.      coredumps. *newloc is now reset by default.
  1226.     (retrieve_url): Lift the twenty-tries limit on proxies.
  1227.  
  1228.     * version.c: Changed version to 1.4b20.
  1229.  
  1230. Fri Sep 20 20:07:55 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1231.  
  1232.     * version.c: "Released" 1.4b19.
  1233.  
  1234. Thu Sep 19 13:24:27 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1235.  
  1236.     * ftp.c (ftp_loop_internal): Renamed from ftp_1fl_loop.
  1237.     (getftp): Changed prototype to accept ccon *.
  1238.  
  1239. Tue Sep 17 10:54:36 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1240.  
  1241.     * ftp.c (ftp_retrieve_list): Fixed a bug that caused setting
  1242.      incorrect values to files pointed to by symbolic links.
  1243.     (ftp_1fl_loop): Do not count listings among the downloaded URL-s.
  1244.  
  1245. Mon Sep 16 13:19:34 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1246.  
  1247.     * url.c (mkstruct): Do not prepend "./" in front of a pathname.
  1248.  
  1249.     * main.c (main): New option: --user-agent.
  1250.  
  1251.     * geturl.1: Ditto.
  1252.  
  1253.     * init.h: Ditto.
  1254.  
  1255.     * init.c (setval): Ditto.
  1256.  
  1257.     * main.c (main): Rename "server-headers" to "server-response".
  1258.  
  1259.     * ftp-unix.c (ftp_parse_ls): Check for asterisks at the end of
  1260.      executables in 'ls -F' listings.
  1261.  
  1262. Sun Sep 15 12:17:50 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1263.  
  1264.     * url.c (parseurl): Remove realloc() and sprintf().
  1265.     (str_url): Get rid of sprintf().
  1266.  
  1267.     * recur.c (recursive_retrieve): Enable FTP recursion through proxy
  1268.      servers.
  1269.  
  1270.     * url.h (URL_CLEANSE): Made it else-resistant.
  1271.     (USE_PROXY): New macro.
  1272.  
  1273. Sat Sep 14 22:24:42 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1274.  
  1275.     * NEWS: Update.
  1276.  
  1277.     * version.c: Changed version to 1.4b19.
  1278.  
  1279. Sat Sep 14 00:12:43 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1280.  
  1281.     * version.c: "Released" 1.4b18.
  1282.  
  1283.     * url.c: Made it reallocate space exponentially.
  1284.  
  1285. Sat Sep 14 00:12:30 1996  Drazen Kacar  <dave@fly.cc.fer.hr>
  1286.  
  1287.     * html.c (htmlfindurl): Added <frame src> and <iframe src> among
  1288.      the list of stuff to fetch.
  1289.  
  1290. Fri Sep 13 01:58:04 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1291.  
  1292.     * url.c (get_urls_html): Fixed a bug that caused SIGSEGV's with
  1293.      -Fi.
  1294.  
  1295.     * html.c (htmlfindurl): Rewrite.
  1296.  
  1297.     * http.c (gethttp): Use opt.proxy_cache.
  1298.  
  1299.     * main.c (main): Added --cache option.
  1300.  
  1301.     * ftp.c (ftp_response): Print server response if opt.print_server
  1302.      response is set.
  1303.     (getftp): Print newlines after each request if the server response
  1304.      is to be printed.
  1305.     (ftp_response): Copy the last response line to last_respline.
  1306.  
  1307.     * http.c (gethttp): Add Pragma: nocache for retried
  1308.      proxy-retrievals.
  1309.  
  1310.     * ftp.c (getftp): Use it.
  1311.  
  1312.     * retr.c (buf_discard): New function.
  1313.  
  1314.     * ftp.c (ftp_response): Use buf_readchar().
  1315.     (getftp): Flush the control connection buffer before calling
  1316.      get_contents().
  1317.  
  1318.     * retr.c (buf_readchar): New function.
  1319.     (buf_flush): New function.
  1320.     (get_contents): Use buf_readchar() instead of read(x, x, 1).
  1321.     (get_contents): Use buf_flush.
  1322.  
  1323. Thu Sep 12 14:49:23 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1324.  
  1325.     * ftp.c: Incorporate changes to ftp_response.
  1326.  
  1327.     * ftp.c (ftp_response): Allocate the server response dynamically,
  1328.      as in read_whole_line and fetch_next_header.
  1329.  
  1330.     * utils.c (read_whole_line): Fixed a bug that prevented reading
  1331.      the last line if it is not \n-terminated. Also fixed a possible
  1332.      memory overflow.
  1333.  
  1334.     * http.c (fetch_next_header): Return malloc-ed string as large as
  1335.      needed.
  1336.     (gethttp): Use new fetch_next_header.
  1337.  
  1338. Thu Sep 12 14:31:37 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1339.  
  1340.     * http.c (hgetlen): Compute the header length the first time only.
  1341.     (hgettype): Ditto.
  1342.     (hgetlocation): Ditto.
  1343.     (hgetmodified): Ditto.
  1344.  
  1345. Wed Sep 11 14:48:08 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1346.  
  1347.     * sample.geturlrc: Update.
  1348.  
  1349. Tue Sep 10 16:31:50 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1350.  
  1351.     * http.c (http_loop): Ditto.
  1352.  
  1353.     * ftp.c (getftp): Open the output file as binary.
  1354.  
  1355.     * version.c: Changed version to 1.4b18.
  1356.  
  1357. Tue Sep 10 14:19:43 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1358.  
  1359.     * version.c: "Released" 1.4b17.
  1360.  
  1361.     * ftp-unix.c (ftp_parse_ls): If unable to open file, return NULL
  1362.      instead of failed assertion.
  1363.  
  1364. Mon Sep  9 14:54:00 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1365.  
  1366.     * ftp.c (ftp_get_listing): Add a numbered suffix to LIST_FILENAME
  1367.      if a file of that name already exists.
  1368.  
  1369. Thu Sep  5 10:53:14 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1370.  
  1371.     * ftp.c (ftp_1fl_loop): Handler FTPPORTERR and FOPENERR correctly.
  1372.  
  1373.     * config.h.in: Define gethostbyname as Rgethostbyname when using
  1374.      Socks.
  1375.  
  1376.     * configure.in: Check for -lresolv if using Socks.
  1377.  
  1378.     * version.c: Changed version to 1.4b17.
  1379.  
  1380. Mon Jul 15 10:29:45 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1381.  
  1382.     * version.c: "Released" 1.4b16.
  1383.  
  1384.     * http.c (gethttp): More intelligent check for first line of HTTP
  1385.      response.
  1386.     (gethttp): Would bug out on time-stamping.
  1387.  
  1388.     * version.c: Changed version to 1.4b16.
  1389.  
  1390. Thu Jul 11 14:52:12 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1391.  
  1392.     * version.c: Released 1.4b15.
  1393.  
  1394.     * http.c (http_loop): Print \n after the loop entry, not before.
  1395.  
  1396.     * url.c (url_filename): Use ISDOT.
  1397.  
  1398.     * url.h (ISDOT): New macro.
  1399.  
  1400.     * recur.c (recursive_retrieve): Change only opt.recursive for
  1401.      following FTP.
  1402.  
  1403. Thu Jul 11 14:45:59 1996  Antonio Rosella <antonio.rosella@agip.it>
  1404.  
  1405.     * socks/geturl.cgi: Fixed version No.
  1406.  
  1407.     * socks/download-netscape.html: Ditto.
  1408.  
  1409.     * socks/download.html: Changed socks.html to download.html.
  1410.  
  1411. Thu Jul 11 14:03:33 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1412.  
  1413.     * url.c (url_filename): Check for opt.dirstruct instead for
  1414.      opt.recursive && opt.dirstruct.
  1415.  
  1416.     * init.c (defaults): Ditto.
  1417.     (defaults): Reset dirstruct by default.
  1418.     (setval): Set opt.dirstruct whenever setting recursive.
  1419.  
  1420.     * init.h: Removed FORCEDIRHIER.
  1421.  
  1422.     * INSTALL: Added -L to socks-description.
  1423.  
  1424.     * version.c: Changed version to 1.4b15.
  1425.  
  1426. Wed Jul 10 16:26:33 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1427.  
  1428.     * version.c: "Released" 1.4b14.
  1429.  
  1430.     * geturl.1: Update AUTHOR to include Rosella as contributor.
  1431.  
  1432.     * NEWS: Update.
  1433.  
  1434.     * socks/geturl.cgi: Simplified command creation, nuked <blink>.
  1435.  
  1436.     * socks/geturl.cgi: Wrap nutscape extensions within if $netscape.
  1437.     (cal_time): Fix == to eq.
  1438.  
  1439.     * socks/geturl.cgi: GPL-ized with permission of A. Rosella.
  1440.  
  1441.     * geturl.1 (hostname): Moved URL CONVENTIONS to the beginning.
  1442.  
  1443.     * Makefile.in: Use @VERSION@.
  1444.  
  1445.     * configure.in: Check version from version.c.
  1446.  
  1447.     * socks/geturl.cgi: Changed /pub/bin/perl to /usr/bin/perl.
  1448.  
  1449.     * socks/download.html: Created from download-netscape.html, made
  1450.      HTML-2.0 compliant.
  1451.  
  1452.     * recur.c (recursive_retrieve): Set opt.force_dir_hier when
  1453.      following FTP links from recursions.
  1454.  
  1455. Tue Jul  9 14:38:12 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1456.  
  1457.     * url.c (mymkdir): Fixed a bug that prevented mymkdir() to create
  1458.      absolute directories correctly.
  1459.  
  1460.     * version.c: Changed version to 1.4b14.
  1461.  
  1462. Tue Jul  9 00:15:49 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1463.  
  1464.     * version.c: "Released" 1.4b13.
  1465.  
  1466.     * url.c (make_backup): New function.
  1467.  
  1468.     * http.c (http_loop): Make a backup copy of the local file (using
  1469.      rename(2)) before opening it.
  1470.  
  1471.     * main.c (main): Added --backups.
  1472.  
  1473.     * host.c (ftp_getaddress): Bail out on failed mycuserid().
  1474.     (ftp_getaddress): Check for leading dot on MY_DOMAIN.
  1475.     (ftp_getaddress): Check for empty, null or (null) domain.
  1476.  
  1477.     * url.c (get_urls_html): If this_url is NULL, the base must have a
  1478.      protocol.
  1479.     (parseurl): Use has_proto.
  1480.  
  1481.     * retr.c (retrieve_url): Warn when proxy is used with more than 20
  1482.      retries.
  1483.  
  1484.     * url.c (mkstruct): Create the directory (calling mymkdir()) only
  1485.      if it is not already there.
  1486.     (has_proto): New function.
  1487.     (get_urls_html): Eliminate the remaining call to findurl -- use
  1488.      has_proto.
  1489.  
  1490.     * geturl.1: Ditto.
  1491.  
  1492.     * main.c: Change -X to -x.
  1493.  
  1494.     * url.c (url_filename): Simplify creation of filename if
  1495.      prefix_files is set.
  1496.     (url_filename): Simplify everything. And I do mean *everything*.
  1497.     (mkstruct): Add dir_prefix before hostname.
  1498.     (path_simplify): Fixed a bug that caused writing outside the path
  1499.      string in case of "." and ".." path strings.
  1500.  
  1501. Sat Jul  6 02:30:18 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1502.  
  1503.     * init.c: Added --mirror.
  1504.  
  1505.     * main.c (main): Added -X to force saving of directory hierarchy.
  1506.  
  1507.     * ftp.c (ftp_retrieve_list): Added recursion depth counter.
  1508.     (ftp_retrieve_list): Check whether quota is exceeded.
  1509.  
  1510.     * url.c (get_urls_html): Skip leading blanks for absolute URIs.
  1511.  
  1512.     * http.c (gethttp): Use referer if present.
  1513.  
  1514.     * recur.c (recursive_retrieve): Set u->referer before calling
  1515.      retrieve_url.
  1516.  
  1517.     * url.c (newurl): Use memset to nullify the struct members.
  1518.     (freeurl): Free the referer field too.
  1519.  
  1520.     * url.h: Added referer to urlinfo.
  1521.  
  1522.     * geturl.1: Updated the manual to document some of the new features.
  1523.  
  1524.     * utils.c (numdigit): Moved from url.c.
  1525.  
  1526.     * README: Rewritten.
  1527.  
  1528.     * config.h.in: Add the support for socks.
  1529.  
  1530.     * configure.in: Add the support for socks.
  1531.  
  1532.     * url.c (url_filename): If the dir_prefix is ".", work with just
  1533.      the file name.
  1534.     (url_filename): Do not look for .n extensions if timestamping if
  1535.      turned on.
  1536.  
  1537.     * retr.c (show_progress): Skip the over-abundant restval data, and
  1538.      print the rest of it with ',' instead of '.'.
  1539.  
  1540. Fri Jul  5 21:38:46 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1541.  
  1542.     * retr.c (show_progress): Changed second arg. to long (as it
  1543.      should be).
  1544.     (show_progress): Moved to retr.c.
  1545.     (get_contents): Moved to retr.c.
  1546.  
  1547.     * version.c: Change version to 1.4b13.
  1548.  
  1549. Fri Jul  5 15:50:59 1996  Hrvoje Lacko <hlacko@fly.cc.fer.hr>
  1550.  
  1551.     * url.c (in_acclist): Would return after the first suffix.
  1552.  
  1553. Thu Jul  4 01:19:58 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1554.  
  1555.     * version.c: "Released" 1.4b12.
  1556.  
  1557.     * url.c (path_simplify): More kludgifications.
  1558.     (get_urls_html): Use new parameters for htmlfindurl.
  1559.  
  1560.     * html.c: Removed memorizing "parser states", since the new
  1561.      organization does not require them.
  1562.  
  1563.     * init.c (run_geturlrc): Use read_whole_line.
  1564.  
  1565.     * ftp-unix.c (ftp_parse_ls): Use read_whole_line.
  1566.  
  1567.     * recur.c (parse_robots): Use read_whole_line.
  1568.  
  1569.     * utils.c (read_whole_line): New function.
  1570.  
  1571.     * recur.c (tried_robots): Use add_slist/in_slist, *much* cleaner.
  1572.  
  1573.     * host.c (ngethostbyname): Call inet_addr just once. Yet to be
  1574.      tested on OSF and Ultrix.
  1575.     (add_hlist): New function.
  1576.     (free_hlist): New function.
  1577.     (search_host): New function.
  1578.     (search_address): New function.
  1579.     (realhost): Use search_host, search_address and add_hlist.
  1580.     (same_host): Replaced realloc() with strdupdelim(), made
  1581.      case-insensitive, fixed a memory leak.
  1582.  
  1583.     * html.c (ftp_index): Fixed tm_min and tm_sec to be tm_hour and
  1584.      tm_min, like intended.
  1585.  
  1586.     * version.c: Change user agent information to
  1587.      Geturl/version.
  1588.  
  1589. Wed Jul  3 15:01:49 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1590.  
  1591.     * utils.c: Renamed nmalloc.c to utils.c, .h likewise.
  1592.  
  1593.     * url.c (acceptable): Always accept directories.
  1594.  
  1595.     * ftp-unix.c (ftp_parse_ls): Support brain-damaged "ls -F"-loving
  1596.      servers by stripping trailing @ from symlinks and trailing / from
  1597.      directories.
  1598.  
  1599.     * ftp.c (ftp_loop): Debugged the "enhanced" heuristics. :-)
  1600.  
  1601.     * url.c (skip_url): Use toupper instead of UCASE.
  1602.  
  1603.     * host.c (sufmatch): Made it case-insensitive.
  1604.  
  1605.     * url.c (match_backwards_or_pattern): Fixed i == -1 to j == -1.
  1606.     (match_backwards): New function, instead of
  1607.      match_backwards_or_pattern.
  1608.  
  1609.     * recur.c (recursive_retrieve): Increased performance by
  1610.      introducing inl, which reduces number of calls to in_slist to only
  1611.      one.
  1612.  
  1613.     * ftp.c (ftp_loop): Enhanced the heuristics that decides which
  1614.      routine to use.
  1615.  
  1616.     * main.c (printhelp): Removed the warranty stuff.
  1617.  
  1618. Tue Jul  2 19:35:03 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1619.  
  1620.     * url.c (add_slist): Simplify.
  1621.     (match_backwards_or_pattern): New function.
  1622.     (in_acclist): Use match_backwards_or_pattern.
  1623.     (matches): Remove.
  1624.  
  1625. Sun Jun 30 00:55:58 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1626.  
  1627.     * ftp.c (ftp_loop): Call ftp_index on empty file names, if not
  1628.      recursive.
  1629.  
  1630.     * html.c (ftp_index): Fixed to work. Beautified the output.
  1631.  
  1632.     * ftp.c (ftp_retrieve_glob): Another argument to control whether
  1633.      globbing is to be used.
  1634.     (ftp_retrieve_list): Compare the time-stamps of local and remote
  1635.      files to determine whether to download.
  1636.  
  1637. Sat Jun 29 01:10:28 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1638.  
  1639.     * ftp.c (rel_constr): New function.
  1640.  
  1641.     * retr.c (retrieve_from_file): Check for text/html before
  1642.      retrieving recursively.
  1643.  
  1644.     * main.c (main): Check whether the file is HTML before going into
  1645.      recursive HTML retrieving.
  1646.  
  1647.     * ftp.c (ftp_retrieve_list): Manage directories.
  1648.     (ftp_retrieve_glob): Pass all the file-types to ftp_retrieve_list.
  1649.     (ftp_1fl_loop): Fixed a bug that caused con->com to be incorrectly
  1650.      initialized, causing bugchecks in getftp to fail.
  1651.  
  1652.     * configure.in: Check for symlink.
  1653.  
  1654.     * ftp.c (ftp_retrieve_list): Added support for symlinks.
  1655.  
  1656.     * version.c: "Released" 1.4b10.
  1657.  
  1658.     * atotm.c (atotm): Redeclared as time_t.
  1659.  
  1660.     * init.c: New variable "timestamping".
  1661.  
  1662.     * main.c (main): New option 'N'.
  1663.  
  1664.     * http.c (hgetlocation): Case-insensitive match.
  1665.     (hgetmodified): New function.
  1666.     (http_loop): Implement time-stamping.
  1667.  
  1668. Fri Jun 28 05:46:06 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1669.  
  1670.     * version.c: Changed version to 1.4b10
  1671.  
  1672.     * atotm.c: New file, from phttpd.
  1673.  
  1674.     * options.h (struct options): New parameter timestamping.
  1675.  
  1676.     * version.c: 1.4b9 "released".
  1677.  
  1678.     * recur.c (recursive_retrieve): Used linked list (ulist) for
  1679.      faster storing of URLs.
  1680.  
  1681.     * url.c (get_urls_html): Removed the old kludge with comparing the
  1682.      outputs of htmlfindurl and findurl.
  1683.     (get_urls_html): Added better protocol support here.
  1684.     (create_hash): Removed, as well as add_hash and in_hash.
  1685.     (addslist): New function.
  1686.     (in_slist): ditto
  1687.  
  1688.     * version.c: Released 1.4b8, changed version to b9.
  1689.  
  1690. Thu Jun 27 03:17:06 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1691.  
  1692.     * ftp.c (freefileinfo): New function.
  1693.     (delelement): New function.
  1694.  
  1695.     * everywhere: GPL!
  1696.  
  1697.     * ftp.c (ftp_loop): Use ccon.
  1698.     (ftp_retrieve_glob): Likewise.
  1699.  
  1700.     * ftp.h: Define ccon, to define status of control connection.
  1701.  
  1702.     * ftp.c (ftp_get_listing): New function.
  1703.     (ftp_retrieve_more): New function.
  1704.     (ftp_retrieve_glob): New function.
  1705.  
  1706. Tue Jun 25 19:08:31 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1707.  
  1708.     * configure.in: Removed the search for cuserid().
  1709.  
  1710.     * init.c (getmode): Renamed to getperms.
  1711.  
  1712. Mon Jun 24 01:25:18 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1713.  
  1714.     * version.c: New version.
  1715.  
  1716.     * main.c (hangup): New function, that handles hangup. Hangup
  1717.         signal now causes geturl to stop writing on stdout, and to write
  1718.         to a log file.
  1719.  
  1720.     * ftp.c (getftp): "Released" 1.4b7.
  1721.  
  1722.     * html.c (htmlfindurl): Ignore everything inside <head>...</head>.
  1723.     (ftp_index): Use fileinfo/urlinfo.
  1724.  
  1725.     * ftp-unix.c (ftp_parse_ls): New function.
  1726.     (symperms): New function.
  1727.  
  1728.     * ftp.c (ftp_1fl_loop): New function, to handle 1-file loops.
  1729.  
  1730.     * retr.c (retrieve_url): Added FTP support.
  1731.  
  1732. Sun Jun 23 13:27:12 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1733.  
  1734.     * geturl.h: Removed NOTFTP2HTML enum.
  1735.     Added DO_LOGIN, DO_CWD and DO_LIST. LIST_ONLY is obsolete.
  1736.  
  1737.     * ftp.c (getftp): Resynched with urlinfo.
  1738.     (getftp): Removed HMTL-ization of index.html from getftp.
  1739.  
  1740.     * version.c: 1.4b6 "released".
  1741.  
  1742.     * options.h (options): New struct, to keep options in.
  1743.  
  1744.     * http.c (http_loop,gethttp): Synched with proxy.
  1745.  
  1746.     * retr.c (retrieve_url): Implemented proxy retrieval.
  1747.  
  1748.     * main.c (main): Use retrieve_from_file.
  1749.  
  1750. Sat Jun 22 15:24:27 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1751.  
  1752.     * retr.c (retrieve_from_file): New function.
  1753.  
  1754.     * url.c (parseurl): Modified to return URLOK if all OK. Protocol
  1755.         can be found in u->proto.
  1756.  
  1757.     * ftp.c (ftp_response): Fixed to accept multi-line responses as
  1758.         per RFC 959.
  1759.  
  1760.     * recr.c (recursive_retrieve): Take newloc from retrieve_url.
  1761.  
  1762.     * url.c (mymkdir): Removed the file of the same name, if one
  1763.         exists.
  1764.     (isfile): New function.
  1765.     (mkstruct): Fixed the '/' glitches.
  1766.     (path_simplify): Hacked to treat something/.. correctly.
  1767.  
  1768. Fri Jun 21 00:05:02 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1769.  
  1770.     * http.c (gethttp): Close the socket after error in headers.
  1771.     (http_loop): HEOF no longer a fatal header.
  1772.  
  1773.     * loop.c (retrieve_url): When dt is NULL, do not modify it. This
  1774.         simplifies the syntax of calling retrieve_url.
  1775.  
  1776.     * recr.c (recursive_retrieve): Modified to use get_urls_html.
  1777.  
  1778.     * url.c (get_urls_file): New function.
  1779.     (get_urls_html): New function.
  1780.  
  1781.     * recr.c (recursive_retrieve): Patched up to conform to the
  1782.         standards.
  1783.  
  1784.     * http.c (gethttp): Synched with the rest...
  1785.     (gethttp): Treat only CONREFUSED specially, with connection
  1786.     errors.
  1787.  
  1788.     * init.c,geturl.1,http.c (http_loop): Removed kill_error.
  1789.  
  1790. Thu Jun 20 15:46:57 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1791.  
  1792.     * http.c (http_loop): New function.
  1793.  
  1794.     * loop.c: Removed *lots* of stuff from retrieve_url.
  1795.  
  1796.     * url.c (parseurl): Changed to work with urlinfo. Integrated
  1797.         username finding and path parsing.
  1798.     (newurl): New function.
  1799.     (freeurl): New function.
  1800.     (mkstruct): Removed the old bogosities, made it urlinfo-compliant.
  1801.     (url_filename): Likewise.
  1802.     (path_simplify): Accept relative paths too.
  1803.     (opt_url): Made urlinfo-compliant, removed bogosities.
  1804.     (path_simplify): Expanded to accept relative paths.
  1805.     (str_url): A replacement for hide_url
  1806.     (decode_string): Fixed a bug that caused malfunctioning when
  1807.     encountering an illegal %.. combination.
  1808.     (opt_url): Removed the argument. Dot-optimizations are now default.
  1809.  
  1810.     * nmalloc.c (strdupdelim): New function.
  1811.  
  1812.     * url.h: Added the urlinfo structure
  1813.  
  1814. Wed Jun 19 21:37:27 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1815.  
  1816.     * url.c (hide_url): Thrown out the protocol assertion. Do not
  1817.         change the URL if the protocol if not recognized.
  1818.     (findurl): Put continue instead of break.
  1819.  
  1820. Tue Jun 18 22:21:51 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1821.  
  1822.     * sample.geturlrc: Changed the defaults to be commented out and
  1823.         harmless (previous defaults caused pains if copied to
  1824.         ~/.geturlrc).
  1825.  
  1826.     * http.c (gethttp): Print the HTTP request in debug mode.
  1827.  
  1828.     * connect.c (iread): Added EINTR check loop to select-ing
  1829.         too. EINTR is now correctly handled with select().
  1830.  
  1831.     * TODO: new file
  1832.  
  1833. Tue May  7 07:50:20 1996  Hrvoje Niksic  <hniksic@srce.hr>
  1834.  
  1835.     * host.c (same_host): Made the function a little bit more
  1836.         intelligent regarding diversified URL syntaxes.
  1837.  
  1838.     * url.c (skip_url): Spaces are now skipped after URL:
  1839.  
  1840.     * Released 1.3.1 with the patch to prevent crashing when sending
  1841.         NULL to robot* functions and the patch to compile "out of the box"
  1842.         on AIX.
  1843.  
  1844.     * recr.c (recursive_retrieve): Added checking whether this_url is
  1845.     NULL when calling the robot functions.
  1846.  
  1847.     * ChangeLog: New file.
  1848.     
  1849.